Technical Field
Embodiments described in this disclosure generally relate to methods and apparatus for load balancing in a system having one or more virtual machines. More specifically, embodiments described in this disclosure relate to methods and apparatus to get feedback information in virtual environment for server load balancing.
Description of the Related Art
A load balancer in a network makes forwarding decisions according to availability information reported by servers managed by the load balancer. Various factors can be used by the servers and load balancers in reporting load and making forwarding decisions. For example, a feedback agent running on each server may provide performance metrics to the load balancer. In turn the load balancer, uses the performance metrics to decide how to distribute multiple requests among the different servers.
In a virtual environment, servers operate on multiple virtual machines running on a physical machine. A server on a virtual machine reports performance metrics of the virtual machine to the load balancer. Because multiple virtual machines may run on a single physical machine simultaneously, the performance metrics reported by a server running on a virtual machine may not account for the all aspects of load on the physical machine. As a result, a physical machine running several virtual machines could be fully loaded while servers on each virtual machine report to the load balancer as being under loaded.